1. Field of the Invention
The present invention relates to a digital video display unit such as a digital television (DTV) and a digital VCR (DVCR) and more particularly to an on screen display (OSD) memory structure in the digital video display unit to produce effects such as superimposition of characters on a picture screen.
2. Description of Related Art
An OSD function is generally used for superimposing images such as graphics and characters on a displayed image of a TV screen. The OSD allows an image selected by a system or a user to be displayed on an original image being displayed using the OSD information stored in a memory unit.
FIG. 1 is a block diagram showing a conventional OSD operation. As shown, when an OSD command, CMD, is transmitted from a host processor 1 to a video processor IC 2, a video signal decoder 2a in the video processor IC 2 decodes the video signals and forwards the decoded signals to an OSD controller 2b. The OSD controller 2b also receives OSD information from a memory 3 and generates OSD output data. Thereafter, the OSD controller 2b displays the images on a display device 4 such as a TV or PC monitor using the video output signals from the video signal decoder 2a and the generated OSD output signals.
At early development stages of the OSD operation, only a single OSD region was displayed on a screen. However, with the increase of the demand for more OSD functions, the OSD can now support multiple OSD regions to more effectively use an external memory. As shown in FIG. 1, the OSD information is stored in an area of the memory 4, separate from the video signal. For a single OSD region, the external memory consists one area of both the OSD bitmap information and the command information necessary for display of the bitmap memory. In contrast, for multiple OSD regions, the external memory should include a plurality of bitmap and command areas corresponding to the plurality of bitmap for an implementation of a multistandard OSD.
FIG. 2a shows multiple OSD regions displayed on the display device 4 and FIG. 2b shows a memory structure corresponding to the OSD regions shown in FIG. 2a. Referring to FIG. 2b, the OSD region information stored in the command area contains the data designating points of the next region. When the command and bitmap information are stored together, problems may occur while an external host processor updates the OSD information. Particularly, the position onto which a command is written in the OSD region would be variable since a size of a bitmap is variable. Thus, the position of each command must be stored even when the external host processor is updating only the bitmap.
Moreover, when the command and bitmap information are mixed, the host processor for updating the OSD information may not be able to synchronize with the OSD controller for reading the OSD information. In such case, the variable size bitmap tends to intrude into the command area of another OSD, resulting in critical errors in the OSD operation. If the information in the command area is damaged, the host processor writes data onto the memory while outputting the bitmap, thereby affecting the overwriting and resulting in an OSD error.
In the conventional memory, the command area and the bitmap area are not separated in the OSD memory. As a result, the position of the command area is variable and under such condition, synchronization may fail when the host processor updates the OSD information while the OSD controller is reading and processing the OSD information. Thus, an updated new command may be used while the previous data prior to the updated data is used for the bitmap. Furthermore, as discussed above, since the size of the bitmap is variable, the bitmap can be overwritten onto the command area of another OSD when the bitmap is updated.
Due to the large volume of bitmap data, a degree of overwriting the bitmap data may not significantly influence the overall OSD operation. However, for the command data which contains the OSD control information such as the OSD display position, the size and the point of the next bitmap, if the external host processor writes while the OSD controller is reading, a critical error to the overall OSD operation would likely occur.
Highlighting is one function of the OSD operation which simply distinguishes the OSD information from other information by changing a color without changing the content of the OSD information. Generally, such highlighting function has been accomplished using a window based method. FIG. 3 shows a window based highlighting method designating a start point P1 and a stop point P2 to establish the position information of a displayed video, thus setting a window during the operation of displaying the OSD on a screen. The data related to the set window is designated as the command and utilizing such data, the contents of the window are highlighted.
In the window based highlighting method, the position of the set window (start point and stop point) must be noted. Particularly, assuming that 0xe2x89xa6xc3x97xe2x89xa6720 and 0xe2x89xa6Yxe2x89xa6480, a minimum of 38 bits comprising 10 bits for X_start, 10 bits for X_stop, 9 bits for Y_start and 9 bits for Y_stop must be stored as part of the information. Accordingly, as the number of different windows to be highlighted increases, the load on the hardware also increases. Furthermore, when one OSD region is displayed on a screen, only the position of the OSD region to be displayed is simply selected and distinguished from the other parts. However, when multiple OSD regions must be displayed, the load on the hardware further increases.
A method to access the color of the highlighted window for the highlighting function will be described with reference to FIG. 4. Assuming that the index information of a bitmap consists of 8 bits, the color signal data Yn, Cbn and Crn, corresponding to the OSD image, is stored in a color look-up table (CLUT) 12 within the OSD memory and is accessed using the index as an address. The accessed color signal data, Yn, Cbn, and Crn, is visually presented on a screen 14 of the display device.
However, during the actual color access for the portion to be highlighted, the usual OSD CLUT 12 is not used, but a specially generated highlight color look-up table (H-CLUT) 13 is used. After the portion to be highlighted is completely selected and assigned a command, the corresponding color signal data, Ynxe2x80x2, Cbnxe2x80x2, and Cmxe2x80x2 in the H-CLUT 13 is accessed using an index as an address and displayed on the screen 14, where the index embedded in 8-bit data 11 corresponds to a relevant position in the bitmap area. Consequently, the corresponding OSD region, H1, is highlighted. According to this highlight color access method, an additional highlight color look-up table need to be constructed in the hardware, resulting in a heavier load on the hardware.
Generally, the CLUT is referred to for color processing of OSD information when applying the OSD process to an MPEG video in the digital TV or PC. The OSD bitmap stored in the external memory may comprise 2-bit, 4-bit, or 16-bit pixels. When using 8 bits for a pixel, the color look-up table supports 256 colors. The 8-bit data in the OSD memory (bitmap) is used as an index for addressing the color look-up table to read the appropriate color data (address: Addr) from the color look-up table.
Moreover, during the access of the color data in the color look-up table and the OSD processing, a blending process for blending the original video data and OSD data at a proper ratio is performed to implement the various special effects such as a semi-transparent effect on a background of the OSD or the OSD information. To perform this blending process, the blending data indicating at what ratio the original video data and the OSD data are blended is required. For example, if blending effects of 16 stages are wanted, at least 4-bit blending data is needed.
One way to accomplish the OSD blending process is adding the blending data to every color information, Y, Cb, and Cr, in the CLUT. In such case, however, a problem in an increase of the memory size occurs. As shown in FIG. 5, an OSD blending process adds a 1-bit blending flag data for deciding whether or not to perform the blending to a color data designated by each address in the color look-up table. If the added blending flag data 20, for example, is set to xe2x80x9c1xe2x80x9d, the flag indicates an instruction to carry out the blending, thereby an OSD header assigns a blending ratio with 4-bit data. If the blending flag data 20 is set to xe2x80x9c0xe2x80x9d, an OSD output signal is made to be absolutely transparent or completely opaque, rather than being subjected to the blending.
When the 1-bit flag data is added, a 16-bit scheme including 8-bit luminance signal Y, and two 4-bit chrominance signals Cb and Cr, is changed into a 17-bit scheme. Namely, to make the CLUT having 16 bits in width which allows an easy construction in hardware, the 8-bit luminance signal is reduced by 1 bit, so that a color look-up table of 16-bit scheme comprising a 7-bit luminance signal, two 4-bit chrominance signals, and the added 1-bit blending flag data 21 is reconstructed to be used. However, adding the 1-bit blending flag data 21 reduces the data volume of the luminance signal in order to reconstruct the color look-up table. The reduction of the data volume is inconvenient and the volume of data actually influencing the display is also reduced.
Furthermore, during the access to the color data in the CLUT and the OSD processing, there may be a case where different degrees of resolution must be supported on the same picture screen. For example, the same color look-up table can be accessed with both 4-bit index and 8-bit index. In such case, the 4-bit index is extended to the 8-bit index through a bit extension. When accessing the CLUT with the 8-bit index, all resources of 256 colors can be accessed. On the other hand, when accessing the same CLUT with the 4-bit index for display on the same screen, only 16 colors can be accessed. Therefore, when using a fixed bit data, a 4-bit indexed bitmap information is supported with only 16 colors although 256 color resources are available. Although, the above discussion is limited to the 8-bit and 4-bit indexes, such problem arises when different resolution, for example, n-bit (n-bit color resources) and m-bit (m less than n), is supported on the same picture screen.
Accordingly, an object of the present invention is to solve at least the problems and disadvantages of the related art.
An object of the present invention is to provide an OSD memory structure and method in a digital video display unit, wherein the OSD command information is optimized to minimize errors caused by overwrite of data while using the memory. The OSD command information is optimized by separating a command area from the bitmap area and fixing positions of individual commands in the command area.
Another object of the present invention is to provide an OSD memory structure and method in a digital video display unit, wherein a command area is divided into a global command and local commands to minimize a size of the memory occupied by the command and to allow an external host processor to control the command more effectively.
Still another object of the present invention is to provide an OSD memory structure and method in a digital video display unit, wherein a flag for deciding a highlight is established on the memory header information defining an OSD region and a highlight process is performed with respect to the OSD region according to the flag setting, thereby allowing the highlight process on a plurality of OSD regions without a heavier load on the hardware when implementing the highlight on multistandard OSD.
A further object of the present invention is to provide an OSD memory structure and method in a digital video display unit, wherein a window based highlight processing method is used for partially highlighting a part of an OSD region and for highlighting a part of a gap between OSD regions, thereby allowing various OSD highlight processes on multistandard OSD.
A still further object of the present invention is to provide an OSD memory structure in a digital video display unit and a method therefor, wherein an address to a color look-up table is changed by inverting a part of data to be highlighted, allowing the data to be obtained from a bitmap area, thereby simply carrying out a highlight process without constructing an additional highlight color look-up table.
A still further object of the present invention is to provide an OSD memory structure and method in a digital video display unit, wherein bits are set to most significant bits and the most significant bits are inverted, thereby effectively using a color look-up table.
A still further object of the present invention is to provide an OSD memory structure and method in a digital video display unit, wherein a color look-up table is classified into a group of areas to be blended and a group of areas not to be blended, and an OSD header assigns a blending ratio to each area, thereby performing a digital OSD blending process.
A still further object of the present invention is to provide an OSD memory structure and method in a digital video display unit, wherein all color resources can be accessed when different degrees of resolution are supported on the same picture screen.
A still further object of the present invention is to provide an OSD memory structure and method in a digital video display unit, wherein the lack in color resource access data of lower resolution is fulfilled by an OSD header, thereby allowing access to all color resources of higher resolution.
A still further object of the present invention is to provide an OSD memory structure and method in a digital video display unit, wherein index information of 4 most significant bits is supplied from an OSD local header when accessing a color look-up table with four bits under the condition that the color resources in the color look-up table can be accessed with an index of 8 bits, thereby allowing access to all 256 color resources based upon the 8-bit index.
A still further object of the present invention is to provide an OSD memory structure and method in a digital video display unit, wherein individual OSD local headers can construct different index information, thereby allowing different color ranges to be used for individual OSD regions.
Additional advantages, objects, and features of the invention will be set forth in part in the description which follows and in part will become apparent to those having ordinary skill in the art upon examination of the following or may be learned from practice of the invention. The objects and advantages of the invention may be realized and attained as particularly pointed out in the appended claims.
To achieve the objects and in accordance with the purposes of the invention, as embodied and broadly described herein, an OSD memory structure in a digital video display unit comprises a command area storing control information such as a position of an OSD image, a size of the OSD image, a process mode of OSD data, and an OSD function; and a bitmap area storing bitmap data for visually presenting the OSD information, wherein the command area includes information for designating positions of OSD regions stored in the bitmap area.
The command area may further comprises a global header for controlling OSD information displayed on the same picture screen and a local header for storing characteristic information of the OSD information.
An OSD memory control method in the digital video display unit according to the present invention is characterized by establishing a highlight enable flag to decide highlighting of an OSD region on the header information of each OSD region in an OSD memory; setting a flag value according to a request of the highlight; and highlighting the OSD region displayed on a screen according to the set value of the flag.
Highlighting a part of the OSD region and a part of a gap between OSD regions is processed according to a window based highlight processing using the position information contained at the header information in the OSD memory. The flag for deciding whether or not to carry out the highlight is established on the header information of the OSD regions in the memory containing position information of the OSD regions displayed, thereby simply processing the highlight function without an extra load on the hardware. For a part within the OSD range and a part of a gap between OSD ranges, a window based highlight process is employed, instead of a region based highlight process, thereby allowing partial highlight on the part within the OSD region and highlight on the part between OSD regions.
In another embodiment, an OSD memory control method in a digital video display unit comprises determining whether or not to highlight a part of an OSD representation; if the part is determined not to be highlighted, accessing color signal data of a color look-up table using data information obtained from a corresponding position in a bitmap area without change; and if the part is determined to be highlighted, inverting only a selected bit of the data in the bitmap area to be highlighted and accessing the color signal data of the color look-up table using the data having the inverted bit. The selected bit is assigned to the most significant bit and inversion is carried out with respect to the most significant bit.
In another embodiment, an OSD memory control method in a digital video display unit is characterized by blending original image data and OSD data for carrying out a digital OSD function; dividing a color look-up table to be accessed into a plurality of independent areas for the blending process; and, at an OSD header, assigning a blending color value to particular color values in the divided areas for the blending process.
An OSD memory control method according to the present invention is also characterized by having an OSD local header corresponding to each OSD region assign the address to the color look-up table to access the blending color value, thereby allowing OSD regions to have different blending values when a plurality of OSD regions are simultaneously displayed on the same picture screen. The OSD header assigns a particular address of the color look-up table to the area for the blending and gives a blending ratio at the area.
An OSD memory control method in a digital video display unit is further characterized by supporting color resources of different degrees of resolution in the same picture screen; and fulfilling lack of data with respect to data for accessing color resources of relatively lower resolution to realize access to color resources of relatively higher resolution. The fulfilling of the lack in the data for the access to the color resources of the relatively lower resolution is achieved such that an OSD local header supplies upper bits and a color look-up table is accessed with the extended data including the supplied upper bits, and individual OSD regions may have different color ranges.